﻿using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;

namespace DailyNote.AppCode
{
    public class Utils
    {
        public static readonly string Author = "罗敏贵";
        public static string HelpText
        {
            get
            {
                StringBuilder list = new StringBuilder();
                list.AppendLine("目前支持的功能：");
                list.AppendLine("      插入任务完成标记 + 当前时间 √ 10:32.  F1 ");
                list.AppendLine("      插入一星重点任务标记 ★.    象限三 非重要，紧急的事 F2  ");
                list.AppendLine("      插入二星重点任务标记 ★★.  象限二 重要，非紧急的事 F3  ");
                list.AppendLine("      插入三星重点任务标记 ★★★.象限一 重要，紧急的事  F4  ");
                list.AppendLine("      插入任务末完成标记 ☠. F5  ");
                list.AppendLine("      导出本周任务到日志中.  F6  ");
                list.AppendLine("      打开本周已完成任务.  F7  ");
                list.AppendLine("      减少内存使用率.  F9  ");
                list.AppendLine("      设置自动启动.  F10  ");
                list.AppendLine("      查看帮助.  F12  ");
                list.AppendLine("文本编辑功能的快捷键和Word一样：");
                list.AppendLine("          Shift + 回车   换行   回车   ");
                list.AppendLine("          Ctrl+Z, Ctrl+Y,Ctrl+B, Ctrl+I, Ctrl+U, Ctrl+R, Ctrl+E ");
                list.AppendLine("当前版本号：" + VersionHelper.ASSEMBLY_VERSION);

                return list.ToString();
            }
        }
        public static void FolderCheck(string Folder)
        {
            DirectoryInfo info = new DirectoryInfo(Folder);
            if (!info.Exists)
            {
                info.Create();
            }
        }
        public static void CreateFiles(string path, string filescontent)
        {
            StreamWriter sw2 = new StreamWriter(path, false, Encoding.Default);
            sw2.WriteLine(filescontent);
            sw2.Flush();
            sw2.Close();
            sw2.Dispose();
        }
        public static string MapPath(string relative)
        {
            return Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, relative);
        }
        public static T GetObjTranNull<T>(Object obj)
        {
            try
            {
                if (obj == null)
                {
                    return (T)System.Convert.ChangeType("", typeof(T));
                }
                else
                {
                    //相同类型不用转
                    if (obj.GetType() == typeof(T))
                        return (T)obj;
                }
                return (T)System.Convert.ChangeType(obj, typeof(T));
            }
            catch (Exception)
            {
            }

            return default(T);
        }
    }
}
